home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / a_man / cat7 / failover.z / failover
Encoding:
Text File  |  2002-10-03  |  15.3 KB  |  331 lines

  1.  
  2.  
  3.  
  4. ffffaaaaiiiilllloooovvvveeeerrrr((((7777MMMM))))                                                      ffffaaaaiiiilllloooovvvveeeerrrr((((7777MMMM))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      failover - disk device alternate path support
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ////eeeettttcccc////iiiinnnniiiitttt....dddd////ffffaaaaiiiilllloooovvvveeeerrrr [[[[iiiinnnniiiitttt||||ssssttttaaaarrrrtttt]]]]
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      Failover creates an infrastructure for the definition and management of
  16.      multiple paths to a single disk device or lun.  This failover
  17.      infrastructure is used by an SGI logical volume manager (XLV, XVM) to
  18.      select the path used for access to the logical volume(s) created on the
  19.      storage device(s).  In the presense of i/o errors, the SGI logical volume
  20.      manager will request from the failover infrastructure a new path to be
  21.      used for access to the erring logical volumes.  This path failover
  22.      requires the logical volume manager's plexing software.
  23.  
  24.      Failover is only possible for devices which utilize _d_k_s_c(_7_m), SGI's scsi
  25.      disk driver.
  26.  
  27.      Failover is not a multi-path load balancing driver.
  28.  
  29.      During system startup, failover automatically detects and configures
  30.      alternate paths (failover groups) to SGI Clariion RAID, SGI TP9100 RAID,
  31.      and SGI TP9400 RAID.  To specify a primary path to an SGI RAID, or to
  32.      configure primary and alternate paths to other more generic devices,
  33.      failover also processes configuration directives contained within the
  34.      /_e_t_c/_f_a_i_l_o_v_e_r._c_o_n_f configuration file which allow manual specification of
  35.      a failover group.
  36.  
  37.      Failover uses /_s_b_i_n/_f_o_c_o_n_f_i_g to parse the configuration file and direct
  38.      the creation of failover groups and the specification of primary paths
  39.      for SGI RAID.  /_s_b_i_n/_f_o_c_o_n_f_i_g should not be executed directly.
  40.  
  41.    AAAAlllltttteeeerrrrnnnnaaaatttteeee PPPPaaaatttthhhh CCCCoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnn
  42.      Primary and alternate paths to devices are defined by two different
  43.      mechanisms.  Automatic detection, and manual configuration via a
  44.      configuration file.
  45.  
  46.      The maximum number of failover paths is defined by the systune variable
  47.      _f_o__m_a_x_i_m_u_m__p_a_t_h_s within the systune variable group _f_a_i_l_o_v_e_r.  The default
  48.      number of paths is 32 but may be changed via the _s_y_s_t_u_n_e(_1_m) command to a
  49.      value within the defined range of values, currently between 4 and 128
  50.      inclusive.
  51.  
  52.      Detection of paths to SGI RAID devices is automatic and happens at the
  53.      time of device discovery during the probing of the scsi and fibre channel
  54.      buses.  The detected paths to the SGI RAID together make up a failover
  55.      group.  Any path within a failover group can be used for I/O requests
  56.      unless explicit primary path configuration is used (see "Using Manual
  57.      Configuration with SGI RAID" below).
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ffffaaaaiiiilllloooovvvveeeerrrr((((7777MMMM))))                                                      ffffaaaaiiiilllloooovvvveeeerrrr((((7777MMMM))))
  71.  
  72.  
  73.  
  74.      Specification of a primary path to an SGI RAID or configuration of other
  75.      disk storage devices into failover groups is declared within the
  76.      /_e_t_c/_f_a_i_l_o_v_e_r._c_o_n_f configuration file.  This file is processed during
  77.      failover startup, and when the /_e_t_c/_i_n_i_t._d/_f_a_i_l_o_v_e_r script is executed.
  78.      When /_e_t_c/_i_n_i_t._d/_f_a_i_l_o_v_e_r is executed with the ssssttttaaaarrrrtttt parameter, it
  79.      automatically calls _x_l_v__a_s_s_e_m_b_l_e(_1_m).  When executed with the iiiinnnniiiitttt
  80.      parameter, the execution of _x_l_v__a_s_s_e_m_b_l_e is skipped.
  81.  
  82.      An entry within /_e_t_c/_f_a_i_l_o_v_e_r._c_o_n_f which defines a failover group
  83.      consists of a single line, or multiple lines, all except the last ending
  84.      in a \ (backslash).  An entry consists of an arbitrary group name, a
  85.      primary path, and optionally up to thirty one alternate paths.  The group
  86.      name is an arbitrary string of up to 31 characters.  Following the group
  87.      name are the /_d_e_v/_s_c_s_i names associated with the primary and alternate
  88.      paths, the primary being the first path specified.
  89.  
  90.      With manual configuration of failover groups, only the specified primary
  91.      path can be used for I/O requests.  This is also the case if the
  92.      configuration file is used to explicitly specify a primary path to an SGI
  93.      RAID.
  94.  
  95.    UUUUssssiiiinnnngggg MMMMaaaannnnuuuuaaaallll CCCCoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnn wwwwiiiitttthhhh SSSSGGGGIIII RRRRAAAAIIIIDDDD
  96.      SGI RAID devices can use the /_e_t_c/_f_a_i_l_o_v_e_r._c_o_n_f configuration file to
  97.      explicitly specify primary paths, rather than letting a volume manager
  98.      pick one.  This is useful, because if multiple controllers can each
  99.      access the same storage (in a SAN environment), volume managers will tend
  100.      to use a single controller to access all storage connected to a given
  101.      storage network, precluding using different host adapters to access
  102.      different devices on the storage network.
  103.  
  104.      Specifying a primary path allows the administrator to choose different
  105.      host adapters to access different storage devices, because the volume
  106.      manager will not be able to access storage through the alternate paths.
  107.      This is particularly useful when striping.  Only the primary path needs
  108.      to be specified in the /_e_t_c/_f_a_i_l_o_v_e_r._c_o_n_f file with this option.
  109.      Alternate paths will be automatically detected.
  110.  
  111.      Using manual configuration is recommended with the SGI TP9100 RAID as
  112.      performance to a lun is significantly reduced if both raid controllers
  113.      are utilized to access the lun.
  114.  
  115.    CCCCoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnn FFFFiiiilllleeee DDDDiiiirrrreeeeccccttttiiiivvvveeeessss
  116.      Two configuration directives are available for use within the
  117.      /_e_t_c/_f_a_i_l_o_v_e_r._c_o_n_f configuration file.  These directives, #_v_e_r_b_o_s_e and
  118.      #_d_i_s_a_b_l_e__t_a_r_g_e_t__l_u_n__c_h_e_c_k modify the behavior of the /_s_b_i_n/_f_o_c_o_n_f_i_g
  119.      program used to parse the configuration file.  They must be placed at the
  120.      beginning of a line within the configuration file and effect all lines
  121.      following the directive.  Once enabled, these options cannot be disabled.
  122.  
  123.      #_v_e_r_b_o_s_e causes the program to emit debugging information.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ffffaaaaiiiilllloooovvvveeeerrrr((((7777MMMM))))                                                      ffffaaaaiiiilllloooovvvveeeerrrr((((7777MMMM))))
  137.  
  138.  
  139.  
  140.      #_d_i_s_a_b_l_e__t_a_r_g_e_t__l_u_n__c_h_e_c_k permits the definition of a failover group
  141.      containing disks or luns with differing target and lun numbers.
  142.  
  143.    SSSSaaaammmmpppplllleeee CCCCoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnn EEEEnnnnttttrrrriiiieeeessss
  144.      The sample file shows failover groups, each consisting of a primary path
  145.      and one or more alternate paths.
  146.  
  147.      #ident $Revision: 1.12 $
  148.      #
  149.      #       This is the configuration file for table driven failover support.
  150.      #
  151.      #       Please see the failover (7m) manual page for details on
  152.      #       how to use this file.
  153.      #
  154.      A       sc7d1l0 sc8d1l0
  155.      B       sc7d1l1 sc8d1l1
  156.      C       sc7d1l2 sc8d1l2
  157.      D       sc7d1l3 sc8d1l3
  158.      E       sc7d1l4 sc8d1l4
  159.      F       sc7d1l5 sc8d1l5
  160.      G       sc7d1l6 sc8d1l6
  161.      H       sc7d1l7 sc8d1l7
  162.      I       2000002037003be2/lun0/c3p1 2000002037003be2/lun0/c5p2
  163.      J       2000002037003c6c/lun0/c5p2 2000002037003c6c/lun0/c3p1
  164.  
  165.      lun16   2000006016fe0cc0/lun16/c104p0 2000006016fe0cc0/lun16/c108p0 \
  166.              2000006016fe0cc0/lun16/c110p0 2000006016fe0cc0/lun16/c109p0 \
  167.              2000006016fe0cc0/lun16/c107p0 2000006016fe0cc0/lun16/c106p0 \
  168.              2000006016fe0cc0/lun16/c105p0 2000006016fe0cc0/lun16/c103p0
  169.  
  170.      # Cause program to emit debugging information for the following
  171.      # groups.
  172.      #verbose
  173.      # specify a primary path
  174.      priA sc14d11l0
  175.      priB sc15d11l1
  176.  
  177.      # Cause program to ignore target and lun numbering for these raid luns.
  178.      #disable_target_lun_check
  179.      raid1     sc16d10l0 sc17d11l0 sc18d12l0 sc19d13l0
  180.  
  181.  
  182.    SSSSwwwwiiiittttcccchhhhiiiinnnngggg ttttoooo aaaannnn AAAAlllltttteeeerrrrnnnnaaaatttteeee PPPPaaaatttthhhh
  183.      Failover to an alternate path is controlled by an SGI logical volume
  184.      manager (XLV, XVM) and its plexing software.  When the logical volume
  185.      manager receives notification of an i/o error, it requests failover to
  186.      switch the erring device to an available alternate path.  If the path
  187.      switch is successful, the SGI logical volume manager retries the failed
  188.      i/o using the new path.
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ffffaaaaiiiilllloooovvvveeeerrrr((((7777MMMM))))                                                      ffffaaaaiiiilllloooovvvveeeerrrr((((7777MMMM))))
  203.  
  204.  
  205.  
  206.      The _s_c_s_i_f_o(1m) command is available to permit the system administrator to
  207.      manually request a switch to an alternate path.  While the scsifo command
  208.      performs a switch, it is not detected by the SGI logical volume manager
  209.      until the SGI logical volume manager receives an i/o error on the current
  210.      path due to the path no longer being available.  The SGI logical volume
  211.      manager then begins utilizing the new path.
  212.  
  213.      If a failover is performed and the original path is still accessible
  214.      (such as a manual failover via "scsifo -t"), and then a _s_c_s_i_h_a(_1_m) probe
  215.      operation is performed (see Inventory Display below), the original path
  216.      will no longer be seen in output from the _h_i_n_v(_1_m) command, but it will
  217.      still be present in the hardware graph.  This is because the RAID
  218.      controller considers the path to be still accessible, even though
  219.      commands to read and write will be rejected.  When this occurs, you will
  220.      see errors from commands such as _i_o_c_o_n_f_i_g(_1_m), because ioconfig scans all
  221.      disk devices in the hardware graph.  When ioconfig attempts to access the
  222.      original path, it will get an error like the following:
  223.  
  224.      ioconfig: ERROR:scsi_ctlr_walk_fn : Cannot open the file : /hw/module/4/slot/io9/fibre_channel/pci/0/scsi_ctlr/0/target/0/lun/0/disk/volume/char
  225.            error is: I/O error
  226.  
  227.      These error messages should be ignored.
  228.  
  229.    IIIInnnnvvvveeeennnnttttoooorrrryyyy DDDDiiiissssppppllllaaaayyyy
  230.      The _h_i_n_v(1m) command will display the path status of primary and
  231.      alternate paths configured in the /etc/failover.conf configuration file.
  232.      The following sample _h_i_n_v output reflects the above sample configuration
  233.      file.  Three of the devices have failed over to the alternate path,
  234.      perhaps via the _s_c_s_i_f_o command.
  235.  
  236.      Integral SCSI controller 7: Version Fibre Channel AIC-1160, revision 1
  237.        Disk drive: unit 1 on SCSI controller 7 (primary path)
  238.        Disk drive: unit 1,lun 1, on SCSI controller 7 (primary path)
  239.        Disk drive: unit 1,lun 2, on SCSI controller 7 (primary path)
  240.        Disk drive: unit 1,lun 3, on SCSI controller 7 (primary path)
  241.        Disk drive: unit 1,lun 4, on SCSI controller 7 (primary path)
  242.        Disk drive: unit 1,lun 5, on SCSI controller 7 (alternate path) DOWN
  243.        Disk drive: unit 1,lun 6, on SCSI controller 7 (alternate path) DOWN
  244.        Disk drive: unit 1,lun 7, on SCSI controller 7 (alternate path) DOWN
  245.      Integral SCSI controller 8: Version Fibre Channel AIC-1160, revision 1
  246.        Disk drive: unit 1 on SCSI controller 8 (primary path)
  247.        Disk drive: unit 1,lun 1, on SCSI controller 8 (alternate path)
  248.        Disk drive: unit 1,lun 2, on SCSI controller 8 (alternate path)
  249.        Disk drive: unit 1,lun 3, on SCSI controller 8 (alternate path)
  250.        Disk drive: unit 1,lun 4, on SCSI controller 8 (alternate path)
  251.        Disk drive: unit 1,lun 5, on SCSI controller 8 (primary path)
  252.        Disk drive: unit 1,lun 6, on SCSI controller 8 (primary path)
  253.        Disk drive: unit 1,lun 7, on SCSI controller 8 (primary path)
  254.      Integral SCSI controller 3: Version Fibre Channel QL2200
  255.        Fabric Disk: node 2000002037003be2 port 1 lun 0 on SCSI controller 3 (primary path)
  256.        Fabric Disk: node 2000002037003c6c port 1 lun 0 on SCSI controller 3 (alternate path)
  257.      Integral SCSI controller 5: Version Fibre Channel QL2200
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. ffffaaaaiiiilllloooovvvveeeerrrr((((7777MMMM))))                                                      ffffaaaaiiiilllloooovvvveeeerrrr((((7777MMMM))))
  269.  
  270.  
  271.  
  272.        Fabric Disk: node 2000002037003be2 port 2 lun 0 on SCSI controller 5 (alternate path)
  273.        Fabric Disk: node 2000002037003c6c port 2 lun 0 on SCSI controller 5 (primary path)
  274.  
  275.      By using the _s_c_s_i_h_a(1m) command to reprobe the bus to which a down device
  276.      is connected, presuming the device is now responding on the bus, the
  277.      "DOWN" indicator displayed by _h_i_n_v can be cleared.  Also, former primary
  278.      paths will be eliminated from, and new primary paths will be seen in, the
  279.      inventory.
  280.  
  281. FFFFIIIILLLLEEEESSSS
  282.      /etc/failover.conf
  283.      /etc/init.d/failover
  284.      /etc/init.d/xlv
  285.      /var/sysgen/master.d/failover
  286.  
  287. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  288.      autoconfig(1m), dks(5m), ds(7m), hinv(1m), ioconfig(1m), scsifo(1m),
  289.      scsiha(1m), systune(1m), xlv_assemble(1m), and xlv(7m).
  290.  
  291. NNNNOOOOTTTTEEEESSSS
  292.      The group name specified within the /_e_t_c/_f_a_i_l_o_v_e_r._c_o_n_f file has no
  293.      external visibility.  It cannot be correlated to the group number
  294.      information displayed by the _s_c_s_i_f_o command.
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.